package kr.or.ddit.web.controller;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

import javax.inject.Inject;

import kr.or.ddit.seller.service.ISellerService;
import kr.or.ddit.seller.service.ISellerService.sellerResult;
import kr.or.ddit.vo.SellerDTO;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/seller/*")
public class SellerController {

	@Inject
	private ISellerService service;

	public ISellerService getService() {
		return service;
	}

	public void setService(ISellerService service) {
		this.service = service;
	}
	
	@RequestMapping("sellerForm.do")
	public String sellerForm(){
		return "member/sellerForm";
	}
	 
	@RequestMapping("sellerInsert.do")
	public String sellerInsert(@ModelAttribute("seller") SellerDTO seller,
			Model model) throws UnsupportedEncodingException{
		
		sellerResult result = service.createSeller(seller); // new로 안하고 위에 유스빈 액션태그써서 하면 20번정도 반복 해야할걸 안해도됨
		
		String msg=null;
		String viewName = null;
		
		if(result==sellerResult.OK){
			msg=URLEncoder.encode("정상가입 처리 되었당게!","UTF-8");
			viewName = "redirect:/index.jsp?msg="+ msg;
		}else if(result==sellerResult.PKDuplicated){
			msg="중복된 아이디가 존재 합니다 다른아이디를 입력하소";
			model.addAttribute("msg", msg);	// 리다이렉트를 안쓰는 이유는 중복아이디로 인해 다시 폼으로 갈떄 새로 쓰는걸 막고 기존에 입력된걸 쓰기 위해서.
			viewName="member/sellerForm";
		}else{
			msg="서버측 오류 발쌩!! 이건 뭐지?? 잠시뒤 다시 등록해주삼";
			model.addAttribute("msg", msg);
			viewName="member/sellerForm";
		}
		return viewName;
	}
	
	
	
}
